/**
 * Project Name:fastPlat
 * File Name:SysLogServiceImpl.java
 * Package Name:com.fast.user.service.admin.impl
 * Date:2014年12月17日下午1:46:16
 * Copyright (c) 2014, lsflu@126.com All Rights Reserved.
 *
*/

package com.fast.cms.service.system.impl;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import com.fast.base.dao.daoSuport.JpaDaoSupport;
import com.fast.base.util.LogUtils;
import com.fast.base.db.page.PageView;
import com.fast.base.db.page.QueryResult;
import com.fast.cms.service.system.SysLogService;
import com.fast.cms.web.form.SystemLogForm;
import com.fast.user.model.admin.SysLog;

/**
 * ClassName:SysLogServiceImpl <br/>
 * 用途: 系统公告服务 <br/>
 * 开发人员：lushuifa  http://lushuifa.iteye.com/
 * 邮箱:lsflu@126.com
 * @version  
 * @since    JDK 1.6
 * @see
 * Date:     2014年12月17日 下午1:46:16 <br/> 	 
 */
@Service("sysLogService")
public class SysLogServiceImpl extends JpaDaoSupport implements SysLogService {

	/**
	 * 标题:获取日志列表<br>
	 * 编写者:lushuifa
	 * 创建时间:2017年5月2日 下午10:01:03 </pre>
	 * @param
	 * @return 
	 * @see com.fast.cms.service.system.SysLogService#getSystemListByPage(com.fast.cms.web.form.SystemLogForm)
	 */
	@Override
	public PageView<SysLog> getSystemListByPage(SystemLogForm systemLogForm) {
		PageView<SysLog> pageView = new PageView<SysLog>();
		LogUtils.info("getAdminList_得到管理员列表");
		try{
			int currentPage = systemLogForm.getPage();//当前页
	  		int pageSize = systemLogForm.getRows();//每页面显示多少条
	  		StringBuffer whereSql = new StringBuffer("where 1=1 ");
	  		List<String> whereVlaues = new ArrayList<String>(); 
	  		if (StringUtils.isNotBlank(systemLogForm.getLogType())) {
	  			whereSql.append(" and o.logType='"+systemLogForm.getLogType()+"'");
			}
			LinkedHashMap<String, String> orderBy = new LinkedHashMap<String, String>();
			orderBy.put("logDate", "desc");
			QueryResult<SysLog>  queryResult = super.getScrollData(SysLog.class, (currentPage-1)*pageSize,pageSize,whereSql.toString(), whereVlaues.toArray(),orderBy);
			pageView.setPageSize(pageSize);
		    pageView.setCurrentPage(currentPage);
			pageView.setQueryResult(queryResult);
		}catch(Exception e){
			e.printStackTrace(); 
			LogUtils.error("getAdminList获取列表：",e);
		}
		LogUtils.info("getAdminList.pageView:"+pageView.toString());
		return pageView;
	}

}

